home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Freeware / Adobe Air 1.5 / AdobeAIRInstaller.exe / setup.swf / scripts / mx / skins / halo / ScrollThumbSkin.as < prev    next >
Encoding:
Text File  |  2008-10-29  |  10.3 KB  |  250 lines

  1. package mx.skins.halo
  2. {
  3.    import flash.display.GradientType;
  4.    import flash.geom.Matrix;
  5.    import mx.core.mx_internal;
  6.    import mx.skins.Border;
  7.    import mx.styles.StyleManager;
  8.    import mx.utils.ColorUtil;
  9.    
  10.    use namespace mx_internal;
  11.    
  12.    public class ScrollThumbSkin extends Border
  13.    {
  14.       mx_internal static const VERSION:String = "3.0.0.0";
  15.       
  16.       private static var cache:Object = {};
  17.       
  18.       public function ScrollThumbSkin()
  19.       {
  20.          super();
  21.       }
  22.       
  23.       private static function calcDerivedStyles(param1:uint, param2:uint, param3:uint, param4:uint) : Object
  24.       {
  25.          var _loc6_:Object = null;
  26.          var _loc5_:String = HaloColors.getCacheKey(param1,param2,param3,param4);
  27.          if(!cache[_loc5_])
  28.          {
  29.             _loc6_ = cache[_loc5_] = {};
  30.             HaloColors.addHaloColors(_loc6_,param1,param3,param4);
  31.             _loc6_.borderColorDrk1 = ColorUtil.adjustBrightness2(param2,-50);
  32.          }
  33.          return cache[_loc5_];
  34.       }
  35.       
  36.       override public function get measuredWidth() : Number
  37.       {
  38.          return 16;
  39.       }
  40.       
  41.       override public function get measuredHeight() : Number
  42.       {
  43.          return 10;
  44.       }
  45.       
  46.       override protected function updateDisplayList(param1:Number, param2:Number) : void
  47.       {
  48.          var _loc17_:Array = null;
  49.          var _loc18_:Array = null;
  50.          var _loc19_:Array = null;
  51.          var _loc20_:Array = null;
  52.          super.updateDisplayList(param1,param2);
  53.          var _loc3_:Number = getStyle("backgroundColor");
  54.          var _loc4_:uint = getStyle("borderColor");
  55.          var _loc5_:Number = getStyle("cornerRadius");
  56.          var _loc6_:Array = getStyle("fillAlphas");
  57.          var _loc7_:Array = getStyle("fillColors");
  58.          StyleManager.getColorNames(_loc7_);
  59.          var _loc8_:Array = getStyle("highlightAlphas");
  60.          var _loc9_:uint = getStyle("themeColor");
  61.          var _loc10_:uint = 7305079;
  62.          var _loc11_:Object = calcDerivedStyles(_loc9_,_loc4_,_loc7_[0],_loc7_[1]);
  63.          var _loc12_:Number = Math.max(_loc5_ - 1,0);
  64.          var _loc13_:Object = {
  65.             "tl":0,
  66.             "tr":_loc12_,
  67.             "bl":0,
  68.             "br":_loc12_
  69.          };
  70.          _loc12_ = Math.max(_loc12_ - 1,0);
  71.          var _loc14_:Object = {
  72.             "tl":0,
  73.             "tr":_loc12_,
  74.             "bl":0,
  75.             "br":_loc12_
  76.          };
  77.          var _loc15_:Boolean = Boolean(parent) && Boolean(parent.parent) && parent.parent.rotation != 0;
  78.          if(isNaN(_loc3_))
  79.          {
  80.             _loc3_ = 16777215;
  81.          }
  82.          graphics.clear();
  83.          drawRoundRect(1,0,param1 - 3,param2,_loc13_,_loc3_,1);
  84.          switch(name)
  85.          {
  86.             case "thumbUpSkin":
  87.             default:
  88.                _loc17_ = [_loc7_[0],_loc7_[1]];
  89.                _loc18_ = [_loc6_[0],_loc6_[1]];
  90.                drawRoundRect(0,0,param1,param2,0,16777215,0);
  91.                if(_loc15_)
  92.                {
  93.                   drawRoundRect(1,0,param1 - 2,param2,_loc5_,[_loc11_.borderColorDrk1,_loc11_.borderColorDrk1],[1,0],horizontalGradientMatrix(2,0,param1,param2),GradientType.LINEAR,null,{
  94.                      "x":1,
  95.                      "y":1,
  96.                      "w":param1 - 4,
  97.                      "h":param2 - 2,
  98.                      "r":_loc14_
  99.                   });
  100.                }
  101.                else
  102.                {
  103.                   drawRoundRect(1,param2 - _loc12_,param1 - 3,_loc12_ + 4,{
  104.                      "tl":0,
  105.                      "tr":0,
  106.                      "bl":0,
  107.                      "br":_loc12_
  108.                   },[_loc11_.borderColorDrk1,_loc11_.borderColorDrk1],[1,0],_loc15_ ? horizontalGradientMatrix(0,param2 - 4,param1 - 3,8) : verticalGradientMatrix(0,param2 - 4,param1 - 3,8),GradientType.LINEAR,null,{
  109.                      "x":1,
  110.                      "y":param2 - _loc12_,
  111.                      "w":param1 - 4,
  112.                      "h":_loc12_,
  113.                      "r":{
  114.                         "tl":0,
  115.                         "tr":0,
  116.                         "bl":0,
  117.                         "br":_loc12_ - 1
  118.                      }
  119.                   });
  120.                }
  121.                drawRoundRect(1,0,param1 - 3,param2,_loc13_,[_loc4_,_loc11_.borderColorDrk1],1,_loc15_ ? horizontalGradientMatrix(0,0,param1,param2) : verticalGradientMatrix(0,0,param1,param2),GradientType.LINEAR,null,{
  122.                   "x":1,
  123.                   "y":1,
  124.                   "w":param1 - 4,
  125.                   "h":param2 - 2,
  126.                   "r":_loc14_
  127.                });
  128.                drawRoundRect(1,1,param1 - 4,param2 - 2,_loc14_,_loc17_,_loc18_,_loc15_ ? horizontalGradientMatrix(1,0,param1 - 2,param2 - 2) : verticalGradientMatrix(1,0,param1 - 2,param2 - 2));
  129.                if(_loc15_)
  130.                {
  131.                   drawRoundRect(1,0,(param1 - 4) / 2,param2 - 2,0,[16777215,16777215],_loc8_,horizontalGradientMatrix(1,1,param1 - 4,(param2 - 2) / 2));
  132.                }
  133.                else
  134.                {
  135.                   drawRoundRect(1,1,param1 - 4,(param2 - 2) / 2,_loc14_,[16777215,16777215],_loc8_,_loc15_ ? horizontalGradientMatrix(1,0,(param1 - 4) / 2,param2 - 2) : verticalGradientMatrix(1,1,param1 - 4,(param2 - 2) / 2));
  136.                }
  137.                break;
  138.             case "thumbOverSkin":
  139.                if(_loc7_.length > 2)
  140.                {
  141.                   _loc19_ = [_loc7_[2],_loc7_[3]];
  142.                }
  143.                else
  144.                {
  145.                   _loc19_ = [_loc7_[0],_loc7_[1]];
  146.                }
  147.                if(_loc6_.length > 2)
  148.                {
  149.                   _loc20_ = [_loc6_[2],_loc6_[3]];
  150.                }
  151.                else
  152.                {
  153.                   _loc20_ = [_loc6_[0],_loc6_[1]];
  154.                }
  155.                drawRoundRect(0,0,param1,param2,0,16777215,0);
  156.                if(_loc15_)
  157.                {
  158.                   drawRoundRect(1,0,param1 - 2,param2,_loc5_,[_loc11_.borderColorDrk1,_loc11_.borderColorDrk1],[1,0],horizontalGradientMatrix(2,0,param1,param2),GradientType.LINEAR,null,{
  159.                      "x":1,
  160.                      "y":1,
  161.                      "w":param1 - 4,
  162.                      "h":param2 - 2,
  163.                      "r":_loc14_
  164.                   });
  165.                }
  166.                else
  167.                {
  168.                   drawRoundRect(1,param2 - _loc12_,param1 - 3,_loc12_ + 4,{
  169.                      "tl":0,
  170.                      "tr":0,
  171.                      "bl":0,
  172.                      "br":_loc12_
  173.                   },[_loc11_.borderColorDrk1,_loc11_.borderColorDrk1],[1,0],_loc15_ ? horizontalGradientMatrix(0,param2 - 4,param1 - 3,8) : verticalGradientMatrix(0,param2 - 4,param1 - 3,8),GradientType.LINEAR,null,{
  174.                      "x":1,
  175.                      "y":param2 - _loc12_,
  176.                      "w":param1 - 4,
  177.                      "h":_loc12_,
  178.                      "r":{
  179.                         "tl":0,
  180.                         "tr":0,
  181.                         "bl":0,
  182.                         "br":_loc12_ - 1
  183.                      }
  184.                   });
  185.                }
  186.                drawRoundRect(1,0,param1 - 3,param2,_loc13_,[_loc9_,_loc11_.themeColDrk1],1,_loc15_ ? horizontalGradientMatrix(1,0,param1,param2) : verticalGradientMatrix(0,0,param1,param2),GradientType.LINEAR,null,{
  187.                   "x":1,
  188.                   "y":1,
  189.                   "w":param1 - 4,
  190.                   "h":param2 - 2,
  191.                   "r":_loc14_
  192.                });
  193.                drawRoundRect(1,1,param1 - 4,param2 - 2,_loc14_,_loc19_,_loc20_,_loc15_ ? horizontalGradientMatrix(1,0,param1,param2) : verticalGradientMatrix(1,0,param1,param2));
  194.                break;
  195.             case "thumbDownSkin":
  196.                if(_loc15_)
  197.                {
  198.                   drawRoundRect(1,0,param1 - 2,param2,_loc13_,[_loc11_.borderColorDrk1,_loc11_.borderColorDrk1],[1,0],horizontalGradientMatrix(2,0,param1,param2),GradientType.LINEAR,null,{
  199.                      "x":1,
  200.                      "y":1,
  201.                      "w":param1 - 4,
  202.                      "h":param2 - 2,
  203.                      "r":_loc14_
  204.                   });
  205.                }
  206.                else
  207.                {
  208.                   drawRoundRect(1,param2 - _loc12_,param1 - 3,_loc12_ + 4,{
  209.                      "tl":0,
  210.                      "tr":0,
  211.                      "bl":0,
  212.                      "br":_loc12_
  213.                   },[_loc11_.borderColorDrk1,_loc11_.borderColorDrk1],[1,0],_loc15_ ? horizontalGradientMatrix(0,param2 - 4,param1 - 3,8) : verticalGradientMatrix(0,param2 - 4,param1 - 3,8),GradientType.LINEAR,null,{
  214.                      "x":1,
  215.                      "y":param2 - _loc12_,
  216.                      "w":param1 - 4,
  217.                      "h":_loc12_,
  218.                      "r":{
  219.                         "tl":0,
  220.                         "tr":0,
  221.                         "bl":0,
  222.                         "br":_loc12_ - 1
  223.                      }
  224.                   });
  225.                }
  226.                drawRoundRect(1,0,param1 - 3,param2,_loc13_,[_loc9_,_loc11_.themeColDrk2],1,_loc15_ ? horizontalGradientMatrix(1,0,param1,param2) : verticalGradientMatrix(0,0,param1,param2),GradientType.LINEAR,null,{
  227.                   "x":1,
  228.                   "y":1,
  229.                   "w":param1 - 4,
  230.                   "h":param2 - 2,
  231.                   "r":_loc14_
  232.                });
  233.                drawRoundRect(1,1,param1 - 4,param2 - 2,_loc14_,[_loc11_.fillColorPress1,_loc11_.fillColorPress2],1,_loc15_ ? horizontalGradientMatrix(1,0,param1,param2) : verticalGradientMatrix(1,0,param1,param2));
  234.                break;
  235.             case "thumbDisabledSkin":
  236.                drawRoundRect(0,0,param1,param2,0,16777215,0);
  237.                drawRoundRect(1,0,param1 - 3,param2,_loc13_,10066329,0.5);
  238.                drawRoundRect(1,1,param1 - 4,param2 - 2,_loc14_,16777215,0.5);
  239.          }
  240.          var _loc16_:Number = Math.floor(param1 / 2 - 4);
  241.          drawRoundRect(_loc16_,Math.floor(param2 / 2 - 4),5,1,0,0,0.4);
  242.          drawRoundRect(_loc16_,Math.floor(param2 / 2 - 2),5,1,0,0,0.4);
  243.          drawRoundRect(_loc16_,Math.floor(param2 / 2),5,1,0,0,0.4);
  244.          drawRoundRect(_loc16_,Math.floor(param2 / 2 + 2),5,1,0,0,0.4);
  245.          drawRoundRect(_loc16_,Math.floor(param2 / 2 + 4),5,1,0,0,0.4);
  246.       }
  247.    }
  248. }
  249.  
  250.